Custom Properties এবং Metadata

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড)
146
146

Apache POI এর মাধ্যমে আপনি Microsoft Word (DOCX) ডকুমেন্টে Custom Properties এবং Metadata পরিচালনা করতে পারেন। Custom Properties কাস্টম ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, যা ডকুমেন্টের অন্যান্য তথ্য থেকে আলাদা। এটি ব্যবহৃত হয় যখন ডকুমেন্টে অতিরিক্ত তথ্য যেমন অ্যাকাউন্ট নাম, ডেটা সংস্করণ, বা কাস্টম রেফারেন্স যুক্ত করতে হয়। Metadata সাধারণত ডকুমেন্টের তথ্য যেমন লেখক, শিরোনাম, বিষয় ইত্যাদি বর্ণনা করে এবং Custom Properties এর মধ্যে অন্তর্ভুক্ত হতে পারে।

এখানে Custom Properties এবং Metadata যোগ করার প্রক্রিয়া দেখানো হয়েছে।


১. Custom Properties যোগ করা

Custom Properties ডকুমেন্টের অতিরিক্ত তথ্য সংরক্ষণ করতে ব্যবহৃত হয় যা সাধারণত অন্যান্য সাধারণ Metadata ফিল্ডের বাইরে থাকে। POI এর মাধ্যমে আপনি কাস্টম প্রপার্টি তৈরি এবং সেট করতে পারেন।

Custom Property যোগ করার উদাহরণ

import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddCustomProperties {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();
        
        // Custom Property যোগ করা
        document.getProperties().getCustomProperties().put("Author", "John Doe");
        document.getProperties().getCustomProperties().put("Version", "1.0");
        document.getProperties().getCustomProperties().put("Project", "Apache POI");

        // ডকুমেন্টে কিছু টেক্সট যোগ করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("This document contains custom properties.");
        
        // ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("document_with_custom_properties.docx")) {
            document.write(out);
        }

        System.out.println("Custom properties added to the Word document!");
    }
}

এখানে, "Author", "Version", এবং "Project" নামে তিনটি Custom Properties যোগ করা হয়েছে।


২. Metadata পড়া এবং সেট করা

Metadata সাধারণত ডকুমেন্টের শিরোনাম, লেখক, বিষয়, এবং চূড়ান্ত সময়ের মতো মৌলিক তথ্য ধারণ করে। Apache POI এর মাধ্যমে আপনি ডকুমেন্টের Metadata পড়তে এবং সেট করতে পারেন।

Metadata পড়া এবং সেট করার উদাহরণ

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ReadAndSetMetadata {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();
        
        // Metadata সেট করা
        document.getProperties().getCoreProperties().setTitle("Sample Document");
        document.getProperties().getCoreProperties().setAuthor("John Doe");
        document.getProperties().getCoreProperties().setSubject("Apache POI Tutorial");
        document.getProperties().getCoreProperties().setCreated(new java.util.Date());

        // ডকুমেন্টে কিছু টেক্সট যোগ করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("This document contains metadata information.");
        
        // ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("document_with_metadata.docx")) {
            document.write(out);
        }

        System.out.println("Metadata added to the Word document!");
    }
}

এখানে, Title, Author, Subject, এবং Created ফিল্ডে Metadata তথ্য সেট করা হয়েছে।

Metadata পড়ার উদাহরণ

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadMetadata {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("document_with_metadata.docx");
        XWPFDocument document = new XWPFDocument(fis);
        
        // Metadata পড়া
        System.out.println("Title: " + document.getProperties().getCoreProperties().getTitle());
        System.out.println("Author: " + document.getProperties().getCoreProperties().getAuthor());
        System.out.println("Subject: " + document.getProperties().getCoreProperties().getSubject());
        System.out.println("Created: " + document.getProperties().getCoreProperties().getCreated());
        
        fis.close();
    }
}

এখানে, ডকুমেন্টের Title, Author, Subject, এবং Created ফিল্ডের Metadata তথ্য পড়া হয়েছে।


৩. Custom Properties এবং Metadata এর মধ্যে পার্থক্য

  • Custom Properties: ডকুমেন্টে অতিরিক্ত কাস্টম তথ্য সংরক্ষণ করার জন্য ব্যবহৃত হয়, যা সাধারণত Core Properties এর বাইরে থাকে। এগুলি ব্যবহারকারীর নির্দিষ্ট প্রয়োজন অনুসারে তৈরি করা হয় (যেমন: প্রোজেক্ট নাম, সংস্করণ ইত্যাদি)।
  • Metadata: এটি ডকুমেন্টের মৌলিক তথ্য যেমন লেখক, শিরোনাম, বিষয়, চূড়ান্ত সময় ইত্যাদি ধারণ করে। এটি ডকুমেন্টের পরিচিতি হিসেবে কাজ করে এবং সাধারণত ডকুমেন্টের প্রথম অংশে থাকে।

৪. Custom Properties এবং Metadata এর স্টাইল কাস্টমাইজেশন

আপনি Custom Properties এবং Metadata এর মান পরিবর্তন করতে পারেন, তবে তাদের স্টাইল কাস্টমাইজ করার ক্ষেত্রে কিছু সীমাবদ্ধতা রয়েছে, যেহেতু এগুলি শুধুমাত্র তথ্য সংরক্ষণ করে, এবং এটি ডকুমেন্টের কনটেন্টের অংশ হিসেবে প্রভাব ফেলে না।


সারাংশ

Apache POI এর মাধ্যমে আপনি Microsoft Word (DOCX) ডকুমেন্টে Custom Properties এবং Metadata যোগ ও পরিচালনা করতে পারেন। Custom Properties অতিরিক্ত তথ্য সংরক্ষণ করে যা সাধারণত ডকুমেন্টের অন্যান্য অংশে উপস্থিত থাকে না, এবং Metadata ডকুমেন্টের মৌলিক তথ্য সংরক্ষণ করে। এই ফিচারগুলি ডকুমেন্টের সাথে অতিরিক্ত কাস্টম তথ্য সংযুক্ত করতে এবং সেই তথ্য সহজে অ্যাক্সেস করতে সাহায্য করে।

common.content_added_by

Word ডকুমেন্টের Custom Properties যোগ করা

136
136

Word ডকুমেন্টে Custom Properties হলো অতিরিক্ত মেটাডেটা যা ডকুমেন্টের সম্পর্কে অতিরিক্ত তথ্য প্রদান করে, যেমন ডকুমেন্টের লেখক, শব্দ সংখ্যা, বা কাস্টম ডাটা যা ডকুমেন্টের মূল কনটেন্টের বাইরে থাকে। Apache POI ব্যবহার করে আপনি সহজেই Word ডকুমেন্টে Custom Properties যোগ করতে পারেন।

Custom properties ব্যবহার করা হয় যখন আপনি ডকুমেন্টের নির্দিষ্ট বৈশিষ্ট্য বা অতিরিক্ত তথ্য সংরক্ষণ করতে চান, যা পরে ম্যানেজমেন্ট বা ডকুমেন্ট বিশ্লেষণের কাজে লাগতে পারে।


1. Custom Properties কী?

Custom Properties হল এমন প্রোপার্টিজ যা ডকুমেন্টে সাধারণত সংরক্ষিত থাকে না, তবে আপনি যখন বিশেষ কোন কাস্টম তথ্য সংরক্ষণ করতে চান, তখন এগুলি ব্যবহার করা হয়। উদাহরণস্বরূপ, আপনি ডকুমেন্টে "প্রজেক্ট নাম", "ক্লায়েন্ট নাম" বা "প্রকাশের তারিখ" মতো অতিরিক্ত তথ্য যোগ করতে পারেন।


2. Custom Properties যোগ করার প্রক্রিয়া

Apache POI লাইব্রেরি ব্যবহার করে, আপনি XWPFDocument ক্লাসের মাধ্যমে Word ডকুমেন্টে Custom Properties যোগ করতে পারেন। এটি করার জন্য CustomProperties API ব্যবহার করতে হয়।

কোড উদাহরণ: Word ডকুমেন্টে Custom Properties যোগ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.util.IOUtils;
import org.apache.xmlbeans.XmlCursor;

import java.io.FileOutputStream;
import java.io.IOException;

public class CustomPropertiesExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // Custom Properties যোগ করা
        addCustomProperties(document);

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("custom_properties_example.docx")) {
            document.write(out);
        }

        System.out.println("Custom Properties সহ Word ডকুমেন্ট সফলভাবে তৈরি হয়েছে!");
    }

    private static void addCustomProperties(XWPFDocument document) {
        // Custom properties যোগ করার জন্য XML কনটেন্ট
        XmlCursor cursor = document.getProperties().getCustomProperties().newCursor();
        cursor.beginElement("Properties");

        // কাস্টম প্রোপার্টি তৈরি
        cursor.beginElement("Property");
        cursor.insertAttributeWithValue("name", "Project Name");
        cursor.insertAttributeWithValue("value", "Apache POI Project");
        cursor.toNextSibling();

        cursor.beginElement("Property");
        cursor.insertAttributeWithValue("name", "Client Name");
        cursor.insertAttributeWithValue("value", "OpenAI");
        cursor.toNextSibling();

        cursor.endElement(); // Close the "Properties" tag
    }
}

কোড ব্যাখ্যা:

  • getProperties().getCustomProperties(): এই কোডটি ডকুমেন্টের কাস্টম প্রোপার্টি সেকশনে প্রবেশ করতে সাহায্য করে।
  • XmlCursor: এটি XML ডকুমেন্টের মধ্যে নেভিগেট করার জন্য ব্যবহার হয়, যেখানে আমরা কাস্টম প্রোপার্টি যোগ করি।
  • insertAttributeWithValue(): এই মেথডটি কাস্টম প্রোপার্টির নাম এবং মান ইনসার্ট করার জন্য ব্যবহৃত হয়।

এই কোডটি একটি Word ডকুমেন্ট তৈরি করবে, যাতে "Project Name" এবং "Client Name" নামের দুটি কাস্টম প্রোপার্টি থাকবে।


3. Custom Properties এর ব্যবহার

Custom properties সাধারণত ব্যবহার করা হয় Metadata, Tracking, বা Document Management সিস্টেমে। কিছু সাধারণ ব্যবহার নিম্নরূপ:

  • ডকুমেন্ট মেটাডেটা: যেমন লেখকের নাম, প্রকাশের তারিখ, বা সংস্করণ।
  • প্রজেক্ট সম্পর্কিত তথ্য: যেমন প্রজেক্টের নাম, ক্লায়েন্টের নাম, বা প্রজেক্টের অবস্থা।
  • ট্র্যাকিং এবং বিশ্লেষণ: ডকুমেন্টের উপর নির্দিষ্ট কার্যকলাপ বা কাস্টম ট্যাগ।

4. Custom Properties দেখানো বা এক্সেস করা

আপনি যদি ডকুমেন্ট থেকে কাস্টম প্রোপার্টি এক্সেস করতে চান, তবে Apache POI এর Properties API ব্যবহার করে এটি করা সম্ভব। উদাহরণস্বরূপ:

কোড উদাহরণ: Custom Properties এক্সেস করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.util.IOUtils;
import org.apache.xmlbeans.XmlCursor;

import java.io.FileInputStream;
import java.io.IOException;

public class ReadCustomPropertiesExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // Word ডকুমেন্ট খুলুন
        FileInputStream fis = new FileInputStream("custom_properties_example.docx");
        XWPFDocument document = new XWPFDocument(fis);

        // Custom Properties পড়া
        readCustomProperties(document);

        fis.close();
    }

    private static void readCustomProperties(XWPFDocument document) {
        XmlCursor cursor = document.getProperties().getCustomProperties().newCursor();
        cursor.selectPath("./Property");

        while(cursor.toNextSelection()) {
            String name = cursor.getAttributeText("name");
            String value = cursor.getAttributeText("value");
            System.out.println(name + ": " + value);
        }
    }
}

কোড ব্যাখ্যা:

  • getCustomProperties(): কাস্টম প্রোপার্টি পড়তে এবং এক্সেস করতে এই মেথড ব্যবহার করা হয়।
  • cursor.selectPath(): এটি XML কন্টেন্টে পথ নির্ধারণ করে এবং কাস্টম প্রোপার্টিগুলি এক এক করে পড়ে।

এই কোডটি ডকুমেন্টের কাস্টম প্রোপার্টিগুলি কনসোলের মাধ্যমে প্রদর্শন করবে।


সারাংশ

Word ডকুমেন্টে Custom Properties যোগ করা এবং এগুলি এক্সেস করার মাধ্যমে আপনি অতিরিক্ত মেটাডেটা সংরক্ষণ করতে পারেন, যা ডকুমেন্টের কার্যকারিতা বৃদ্ধি করে। Apache POI ব্যবহার করে আপনি সহজেই কাস্টম প্রোপার্টি যোগ এবং পরিচালনা করতে পারেন। এর মাধ্যমে আপনি আপনার ডকুমেন্টের তথ্যের বিশ্লেষণ, ট্র্যাকিং এবং ম্যানেজমেন্ট আরও দক্ষতার সাথে করতে পারবেন।


common.content_added_by

Metadata পরিচালনা এবং Extraction

145
145

Apache POI এর মাধ্যমে Microsoft Word ডকুমেন্টের Metadata পরিচালনা এবং Extraction করা সম্ভব। Metadata হলো ডকুমেন্টের সম্পর্কে তথ্য যা ডকুমেন্টের কনটেন্টের বাইরে থাকে, যেমন লেখক, শিরোনাম, বিষয়বস্তু, তৈরি হওয়ার তারিখ ইত্যাদি। Apache POI আপনাকে এই Metadata পড়তে, পরিবর্তন করতে এবং পরিচালনা করতে সহায়তা করে।


Metadata Extraction (Metadata নির্গমন)

Apache POI এর মাধ্যমে আপনি একটি Word ডকুমেন্ট থেকে Metadata এক্সট্র্যাক্ট (অথবা বের করা) করতে পারেন। Word ডকুমেন্টে বিভিন্ন ধরনের Metadata থাকতে পারে, যেমন:

  • Title (শিরোনাম)
  • Subject (বিষয়)
  • Creator (লেখক)
  • Keywords (কীওয়ার্ড)
  • Last Modified By (সর্বশেষ সম্পাদিত ব্যক্তি)
  • Creation Date (সৃষ্টি তারিখ)
  • Modified Date (সংশোধন তারিখ)

এই Metadata গুলি XWPFProperties এবং CoreProperties ক্লাসের মাধ্যমে অ্যাক্সেস করা যেতে পারে।

উদাহরণ: Metadata Extraction করা

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import java.io.FileInputStream;
import java.io.IOException;

public class MetadataExtractionExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // ডকুমেন্ট খুলতে একটি ফাইল ইনপুট স্ট্রিম তৈরি করা
        FileInputStream fis = new FileInputStream("DocumentWithMetadata.docx");
        
        // XWPFDocument ব্যবহার করে ডকুমেন্ট ওপেন করা
        XWPFDocument document = new XWPFDocument(fis);

        // Metadata এক্সট্র্যাক্ট করা
        String title = document.getProperties().getCoreProperties().getTitle();
        String subject = document.getProperties().getCoreProperties().getSubject();
        String author = document.getProperties().getCoreProperties().getCreator();
        String keywords = document.getProperties().getCoreProperties().getKeywords();
        String lastModifiedBy = document.getProperties().getCoreProperties().getLastModifiedBy();
        String created = document.getProperties().getCoreProperties().getCreated();
        String modified = document.getProperties().getCoreProperties().getModified();

        // Metadata প্রদর্শন করা
        System.out.println("Title: " + title);
        System.out.println("Subject: " + subject);
        System.out.println("Author: " + author);
        System.out.println("Keywords: " + keywords);
        System.out.println("Last Modified By: " + lastModifiedBy);
        System.out.println("Created: " + created);
        System.out.println("Modified: " + modified);
    }
}

কোড ব্যাখ্যা:

  • getCoreProperties() মেথড ব্যবহার করে CoreProperties ক্লাসের মাধ্যমে ডকুমেন্টের Metadata অ্যাক্সেস করা হয়।
  • getTitle(), getSubject(), getCreator() ইত্যাদি মেথড ব্যবহার করে Metadata ডেটা এক্সট্র্যাক্ট করা হয়েছে।

Metadata পরিবর্তন (Metadata Editing)

Apache POI এর মাধ্যমে আপনি Word ডকুমেন্টের Metadata পরিবর্তন করতে পারেন। আপনি যেমন Title, Author, Keywords ইত্যাদি পরিবর্তন করতে পারেন। এটি CoreProperties ক্লাসের মাধ্যমে করা যায়।

উদাহরণ: Metadata পরিবর্তন করা

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class MetadataEditExample {
    public static void main(String[] args) throws IOException, InvalidFormatException {
        // ডকুমেন্ট খোলার জন্য একটি ফাইল ইনপুট স্ট্রিম তৈরি করা
        FileInputStream fis = new FileInputStream("DocumentWithMetadata.docx");
        
        // XWPFDocument ব্যবহার করে ডকুমেন্ট ওপেন করা
        XWPFDocument document = new XWPFDocument(fis);

        // Metadata পরিবর্তন করা
        document.getProperties().getCoreProperties().setTitle("New Title");
        document.getProperties().getCoreProperties().setSubject("New Subject");
        document.getProperties().getCoreProperties().setCreator("New Author");
        document.getProperties().getCoreProperties().setKeywords("New, Keywords");

        // পরিবর্তিত ডকুমেন্ট সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("UpdatedDocument.docx")) {
            document.write(out);
        }

        System.out.println("Metadata সফলভাবে পরিবর্তন করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • setTitle(), setSubject(), setCreator() ইত্যাদি মেথডের মাধ্যমে ডকুমেন্টের Metadata পরিবর্তন করা হয়েছে।
  • FileOutputStream ব্যবহার করে পরিবর্তিত ডকুমেন্ট সংরক্ষণ করা হয়েছে।

Advanced Metadata Operations

Apache POI ব্যবহার করে আপনি আরও উন্নত Metadata অপারেশনও করতে পারেন, যেমন:

  • Custom Properties যোগ করা এবং সম্পাদনা করা
  • Document Properties এর মধ্যে কাস্টম Metadata ধারণ করা
  • ডকুমেন্টের ভার্সন ট্র্যাকিং এবং পরিবর্তন লগ রাখা

এই সমস্ত অপারেশনগুলি POIFSFileSystem এবং Custom Property API এর মাধ্যমে সম্ভব।


সারাংশ

Apache POI ব্যবহার করে আপনি Microsoft Word ডকুমেন্টের Metadata খুব সহজে এক্সট্র্যাক্ট এবং পরিবর্তন করতে পারেন। CoreProperties ক্লাসের মাধ্যমে আপনি ডকুমেন্টের বিভিন্ন Metadata (যেমন Title, Subject, Author, Keywords) পড়তে এবং সম্পাদনা করতে পারেন। এই ফিচারটি ডকুমেন্টের তথ্য ব্যবস্থাপনার জন্য অত্যন্ত কার্যকরী, বিশেষ করে যদি আপনার ডকুমেন্টগুলির মধ্যে নির্দিষ্ট তথ্য দ্রুত খুঁজে বের করার প্রয়োজন হয়। Custom Properties এবং Document Properties ব্যবস্থাপনা দিয়ে আরও উন্নত কাজ করা যেতে পারে।

common.content_added_by

Author এবং Creation Date পরিবর্তন করা

125
125

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে Word ডকুমেন্টে Author এবং Creation Date পরিবর্তন করা সম্ভব। Author এবং Creation Date হল ডকুমেন্টের metadata তথ্য, যা ডকুমেন্টের প্রাথমিক তথ্যের মধ্যে অন্তর্ভুক্ত থাকে। আপনি এই তথ্যগুলি পরিবর্তন করে ডকুমেন্টের পরিচিতি কাস্টমাইজ করতে পারেন।

Word ডকুমেন্টের Author এবং Creation Date পরিবর্তন করার পদ্ধতি

Apache POI এর XWPF API ব্যবহার করে আপনি Word ডকুমেন্টের metadata সম্পাদনা করতে পারবেন। এর মধ্যে ডকুমেন্টের author, title, subject, creation date ইত্যাদি অন্তর্ভুক্ত থাকতে পারে।

এখানে author এবং creation date পরিবর্তন করার জন্য কোডের উদাহরণ দেওয়া হলো।


Author এবং Creation Date পরিবর্তন করা

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import java.io.*;
import java.util.Date;

public class ChangeAuthorAndCreationDate {
    public static void main(String[] args) throws Exception {
        // বিদ্যমান Word ডকুমেন্ট লোড করা
        FileInputStream fis = new FileInputStream("existing_document.docx");
        XWPFDocument document = new XWPFDocument(fis);

        // ডকুমেন্টের Metadata পরিবর্তন করা
        document.getProperties().getCoreProperties().setCreator("New Author");
        
        // Creation Date পরিবর্তন করা (বর্তমান তারিখ ব্যবহার করা)
        document.getProperties().getCoreProperties().setCreated(new Date());

        // নতুন ডকুমেন্ট সেভ করা
        FileOutputStream fos = new FileOutputStream("updated_document.docx");
        document.write(fos);

        // Resources ক্লোজ করা
        fis.close();
        fos.close();

        System.out.println("Author and Creation Date successfully updated!");
    }
}

কোডের ব্যাখ্যা:

  1. Word ডকুমেন্ট লোড: FileInputStream ব্যবহার করে একটি বিদ্যমান Word ডকুমেন্ট লোড করা হয়।
  2. Author পরিবর্তন: getCoreProperties().setCreator() মেথড ব্যবহার করে ডকুমেন্টের author (লেখক) পরিবর্তন করা হয়। এখানে "New Author" দিয়ে লেখকের নাম সেট করা হয়েছে।
  3. Creation Date পরিবর্তন: getCoreProperties().setCreated() মেথড ব্যবহার করে Creation Date পরিবর্তন করা হয়। এখানে আমরা বর্তমান তারিখ (new Date()) ব্যবহার করেছি, তবে আপনি ইচ্ছেমতো একটি নির্দিষ্ট তারিখও দিতে পারেন।
  4. নতুন ডকুমেন্ট সেভ করা: পরিবর্তিত ডকুমেন্টটি নতুন নামে সেভ করা হয়। এটি নতুন নামের ডকুমেন্টে লেখক এবং তৈরির তারিখ আপডেট করে সেভ করা হবে।

Metadata সম্পাদনা সম্পর্কিত অন্যান্য অপশন:

Apache POI এর মাধ্যমে আপনি শুধুমাত্র author এবং creation date নয়, আরও অনেক metadata তথ্য পরিবর্তন করতে পারেন, যেমন:

  • Title: getCoreProperties().setTitle("New Title")
  • Subject: getCoreProperties().setSubject("New Subject")
  • Keywords: getCoreProperties().setKeywords("keyword1, keyword2")
  • Last Modified By: getCoreProperties().setLastModifiedBy("Modified By Name")

এগুলো সম্পাদনা করার জন্যও একইভাবে getCoreProperties() ব্যবহার করা হয়, তবে নির্দিষ্ট মেথডের মাধ্যমে আপনি যেই তথ্যটি পরিবর্তন করতে চান তা সঠিকভাবে আপডেট করতে পারেন।


সারাংশ

Apache POI ব্যবহার করে Word ডকুমেন্টের author এবং creation date সহজেই পরিবর্তন করা যায়। এর জন্য XWPFDocument এর getCoreProperties() মেথড ব্যবহার করতে হয়, যা ডকুমেন্টের metadata অ্যাক্সেস করতে এবং সম্পাদনা করতে সহায়তা করে। আপনি ডকুমেন্টের লেখক, শিরোনাম, বিষয়, কীওয়ার্ড এবং অন্যান্য প্রাসঙ্গিক তথ্য আপডেট করতে পারেন।

common.content_added_by

Advanced Metadata হ্যান্ডলিং Techniques

150
150

Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টের Advanced Metadata হ্যান্ডলিং করা সম্ভব। Metadata হলো এমন ডেটা যা ডকুমেন্টের সম্পর্কে অতিরিক্ত তথ্য প্রদান করে, যেমন লেখক, শিরোনাম, বিষয়বস্তু, কিওয়ার্ড, তৈরির তারিখ ইত্যাদি। ডকুমেন্টের metadata মূলত ডকুমেন্টের properties বা বৈশিষ্ট্য হিসেবে পরিচিত, এবং এগুলি ডকুমেন্টের সার্বিক তথ্য পরিচালনায় গুরুত্বপূর্ণ ভূমিকা পালন করে।

এখানে Advanced Metadata হ্যান্ডলিং এর কিছু কৌশল এবং প্র্যাকটিস দেওয়া হলো, যা Apache POI এর মাধ্যমে Word ডকুমেন্টে metadata পরিচালনা করতে সাহায্য করবে।

১. ডকুমেন্টের Metadata এক্সেস করা

ডকুমেন্টের metadata এক্সেস করতে XWPFDocument ক্লাসের getProperties() মেথড ব্যবহার করা যায়। এটি ডকুমেন্টের প্রোপার্টিজ রিটার্ন করে, যেমন লেখক, শিরোনাম, বিষয় ইত্যাদি।

Metadata এক্সেস করার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;

import java.io.*;

public class MetadataExample {
    public static void main(String[] args) {
        try {
            // ডকুমেন্ট খোলা
            FileInputStream fis = new FileInputStream("example.docx");
            XWPFDocument document = new XWPFDocument(fis);
            
            // ডকুমেন্ট প্রোপার্টিজ এক্সেস করা
            XWPFProperties properties = document.getProperties();
            
            // প্রোপার্টি থেকে লেখক এবং শিরোনাম এক্সেস করা
            String author = properties.getCoreProperties().getCreator();
            String title = properties.getCoreProperties().getTitle();
            
            System.out.println("Author: " + author);
            System.out.println("Title: " + title);
            
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • getProperties(): ডকুমেন্টের প্রোপার্টিজ নিয়ে আসে।
  • getCreator() এবং getTitle(): ডকুমেন্টের লেখক এবং শিরোনাম বের করার জন্য ব্যবহৃত হয়।

২. ডকুমেন্টে নতুন Metadata সেট করা

ডকুমেন্টে new metadata যোগ করতে XWPFProperties ব্যবহার করা হয়। আপনি setCreator(), setTitle(), setSubject() ইত্যাদি পদ্ধতি ব্যবহার করে metadata আপডেট করতে পারবেন।

নতুন Metadata সেট করার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;

import java.io.*;

public class SetMetadataExample {
    public static void main(String[] args) {
        try {
            // নতুন ডকুমেন্ট তৈরি
            XWPFDocument document = new XWPFDocument();
            
            // ডকুমেন্ট প্রোপার্টিজ সেট করা
            XWPFProperties properties = document.getProperties();
            properties.getCoreProperties().setCreator("John Doe");
            properties.getCoreProperties().setTitle("Apache POI Metadata Example");
            properties.getCoreProperties().setSubject("Metadata Handling in Word Documents");
            
            // ডকুমেন্ট সেভ করা
            FileOutputStream fos = new FileOutputStream("SetMetadataExample.docx");
            document.write(fos);
            fos.close();
            
            System.out.println("Metadata successfully added!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • setCreator(), setTitle(), setSubject(): ডকুমেন্টের লেখক, শিরোনাম এবং বিষয় সেট করা হয়।
  • ডকুমেন্টটি SetMetadataExample.docx নামে সেভ করা হবে।

৩. কাস্টম Metadata যোগ করা

Apache POI কাস্টম মেটাডেটা সেট করার জন্য ExtendedProperties এবং CustomProperties ব্যবহার করার সুযোগ দেয়। আপনি ডকুমেন্টে অতিরিক্ত কাস্টম তথ্য রাখতে পারেন, যা ডকুমেন্টের প্রোপার্টি অংশে থাকবে।

কাস্টম Metadata যোগ করার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFCustomProperties;
import java.io.*;

public class CustomMetadataExample {
    public static void main(String[] args) {
        try {
            // নতুন ডকুমেন্ট তৈরি
            XWPFDocument document = new XWPFDocument();
            
            // কাস্টম প্রোপার্টি যোগ করা
            XWPFCustomProperties customProperties = document.getProperties().getCustomProperties();
            customProperties.addProperty("Project", "Apache POI");
            customProperties.addProperty("Version", "1.0");
            
            // ডকুমেন্ট সেভ করা
            FileOutputStream fos = new FileOutputStream("CustomMetadataExample.docx");
            document.write(fos);
            fos.close();
            
            System.out.println("Custom metadata added successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • addProperty(): কাস্টম প্রোপার্টি যোগ করার জন্য ব্যবহৃত হয়, যেখানে আপনি কাস্টম তথ্য যেমন "Project" এবং "Version" যোগ করতে পারেন।

৪. Metadata অনুসন্ধান এবং আপডেট করা

Apache POI এর মাধ্যমে আপনি ডকুমেন্টের metadata খুঁজে বের করতে এবং আপডেট করতে পারেন। আপনার প্রয়োজনে এই metadata অনুসারে ডকুমেন্টের বৈশিষ্ট্য বা তথ্য পরিবর্তন করা যেতে পারে।

Metadata অনুসন্ধান এবং আপডেট করার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;

import java.io.*;

public class MetadataUpdateExample {
    public static void main(String[] args) {
        try {
            // ডকুমেন্ট খোলা
            FileInputStream fis = new FileInputStream("example.docx");
            XWPFDocument document = new XWPFDocument(fis);
            
            // প্রোপার্টি এক্সেস করা
            XWPFProperties properties = document.getProperties();
            
            // লেখক এবং শিরোনাম আপডেট করা
            properties.getCoreProperties().setCreator("Jane Smith");
            properties.getCoreProperties().setTitle("Updated Metadata Example");
            
            // ডকুমেন্ট সেভ করা
            FileOutputStream fos = new FileOutputStream("UpdatedMetadataExample.docx");
            document.write(fos);
            fos.close();
            fis.close();
            
            System.out.println("Metadata updated successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • setCreator(), setTitle(): লেখক এবং শিরোনাম আপডেট করা হয়।
  • আপডেট করা ডকুমেন্টটি UpdatedMetadataExample.docx নামে সেভ করা হয়।

৫. Advanced Metadata Searching এবং Filtering

আপনি Apache POI এর মাধ্যমে ডকুমেন্টের মধ্যে advanced metadata অনুসন্ধান করতে পারেন। উদাহরণস্বরূপ, আপনি ডকুমেন্টের লেখক বা শিরোনামের ভিত্তিতে ডকুমেন্ট ফিল্টার করতে পারেন।

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFProperties;

import java.io.*;

public class AdvancedMetadataSearch {
    public static void main(String[] args) {
        try {
            // ডকুমেন্ট খোলা
            FileInputStream fis = new FileInputStream("example.docx");
            XWPFDocument document = new XWPFDocument(fis);
            
            // প্রোপার্টি এক্সেস করা
            XWPFProperties properties = document.getProperties();
            
            // লেখক অনুসন্ধান
            String author = properties.getCoreProperties().getCreator();
            if ("John Doe".equals(author)) {
                System.out.println("Found document authored by John Doe");
            }
            
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • ডকুমেন্টের লেখক অনুযায়ী metadata অনুসন্ধান করা হয়। যদি লেখক John Doe হয়, তাহলে ডকুমেন্টের তথ্য আউটপুট হবে।

Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে Advanced Metadata হ্যান্ডলিং অত্যন্ত কার্যকরী এবং সহজ। আপনি metadata এক্সেস, সেটিং, কাস্টম প্রোপার্টি যোগ করা, আপডেট করা এবং অনুসন্ধান করতে পারেন। এই প্রযুক্তি ব্যবহার করে ডকুমেন্টের অতিরিক্ত তথ্য পরিচালনা এবং সঠিকভাবে উপস্থাপন করা সম্ভব হয়, যা ডকুমেন্টের ব্যবহারের কার্যকারিতা বাড়ায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion